package org.dousb.douojbackendjudgeservice.judge.strategy;

import lombok.Data;
import org.dousb.douojbackend.model.codesandbox.JudgeInfo;
import org.dousb.douojbackend.model.dto.question.JudgeCase;
import org.dousb.douojbackend.model.entity.Question;
import org.dousb.douojbackend.model.entity.QuestionSubmit;

import java.util.List;

/**
 * JudgeContext
 * 上下文 （用于定义在策略中传递的参数）
 *
 * @author 豆沙包
 * @version 1.0
 * @since 2025-11-01  18:46
 */
@Data
public class JudgeContext {
    /**
     * 判题信息
     */
    private JudgeInfo judgeInfo;

    /**
     * 输入列表
     */
    private List<String> inputList;

    /**
     * 输出列表
     */
    private List<String> outputList;

    /**
     * 判题用例列表
     */
    private List<JudgeCase> judgeCaseList;

    /**
     * 题目
     */
    private Question question;

    /**
     * 题目提交
     */
    private QuestionSubmit questionSubmit;
}